Robotic industrial automation has seen significant success in large-scale manufacturing because it offers significant advantages at scale for tasks such as welding, cutting, stamping, painting, heavy material handling, precision material machining, etc. The success of robotic automation in large-scale manufacturing has led to a long-standing desire to extend the use of robotic automation into small and medium-sized manufacturing enterprises (“SMEs”). However, in contrast to large scale manufacturing, SMEs' production processes are typically characterized by small production volumes and/or high product variability. Consequently, the ability to amortize the infrastructure, specialized personnel, setup, and programming of flexible robotic automation is far reduced for SMEs.
SME processes sometimes include tasks that require a high level of customization and therefore necessarily involve human skill and judgment. For example, refurbishment tasks and build-to-order manufacturing processes must accommodate unforeseen workpiece variances and equipment modifications. In such cases, an existing human-centered production process may find it difficult to determine where or how robotic automation can be a useful addition to an effective human-intensive process, rather than a duplication or attenuation thereof. Take, for instance, an SME specializing in custom furniture manufacturing that has a number of highly-skilled employees. That SME may want to improve the efficiency and productivity of its employees by using robotic systems to automate repetitive tasks that involve dexterous actions, such as drilling or sanding tasks. However, a commercial off-the-shelf robotic system would not be useful in this case because it would be impossible for the SME to leverage its employees' existing task knowledge and experience.
User experience associated with expanding capability of robotic systems can also be problematic during robotic system integration. When a robot is being equipped or outfitted with additional devices (e.g., sensors, cameras, grippers, etc.) or end effector tooling, there is a requirement that programming effort must be made for these devices or tooling to be utilized by the end user. For example, an out-of-the-box robotic system may include a programming language interface (“PLI”) for moving the arm around in Cartesian space. If a gripper is attached to the robot to give it the ability to grasp objects, a user (e.g., an integrator) must install firmware for this gripper, which then exposes some set of programmatic entities to the PLI. Now consider the example where the same robotic system incorporates a graphical user interface (“GUI”) for programming. The gripper is attached and firmware must be installed to provide the appropriate GUI entities so that the user can access the robotic system's functionality. For most state of the art systems, this seamless integration of an appropriate GUI for attached tooling is not possible. Generally, if this type of functionality is desired, the system is built from the ground up with the GUI for the tooling, without any accommodation for expandability.
Therefore, there is a need for systems and methods for overcoming these and other problems presented by the prior art.